<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author I062261
 */
interface BIOperationManager {

    //put your code here
    /**
     * get application's operations
     */
    public function getOperations($data = NULL);

    /**
     * this function will get user's roles first, then
     * return all operations belong to user
     * this function works in context of some Space,App and some operationFlow
     * @param mix $userId, 
     */
    public function getUserOperations($userId, $data = NULL);

    /**
     * operation can create in designtime or runtime
     * @param type $name
     * @param type $data, if specify 'type'='designtime',means designtime operation
     * default type is runtime
     */
    public function createOperation($name, $data = NULL);

    /**
     * remove operation will add remove tag for operation, never really delete it
     * @param mix $operation, if numeric, use as operation id, if string, as operation name
     * @param type $data
     */
    public function removeOperation($operation, $data = null);

    /**
     * 
     * @param mix $operation,, if numeric, use as operation id, if string, as operation name
     * @param type $data
     */
    public function updateOperation($operation, $data = null);

    /**
     * 
     * @param mix $operation, if numeric, means operation id, if string, means opeation name
     * @param type $data
     */
    public function getOperation($operation, $data = null);

}

?>
